package com.blrs.service.demand;

import java.util.List;

import com.blrs.domain.DemandReception;
import com.blrs.domain.DemandRelease;

/**
 * 需求发布Service接口
 * 
 * @author yang
 * @date 2024-01-26
 */
public interface IDemandReleaseService 
{
    /**
     * 查询需求发布
     * 
     * @param projectId 需求发布主键
     * @return 需求发布
     */
    public DemandRelease selectDemandReleaseByProjectId(String projectId);

    /**
     * 查询需求发布列表
     * 
     * @param demandRelease 需求发布
     * @return 需求发布集合
     */
    public List<DemandRelease> selectDemandReleaseList(DemandRelease demandRelease);

    /**
     * 新增需求发布
     * 
     * @param demandRelease 需求发布
     * @return 结果
     */
    public int insertDemandRelease(DemandRelease demandRelease) throws NoSuchFieldException, IllegalAccessException;

    /**
     * 修改需求发布
     * 
     * @param demandRelease 需求发布
     * @return 结果
     */
    public int updateDemandRelease(DemandRelease demandRelease);

    /**
     * 批量删除需求发布
     * 
     * @param projectIds 需要删除的需求发布主键集合
     * @return 结果
     */
    public int deleteDemandReleaseByProjectIds(String[] projectIds);

    /**
     * 删除需求发布信息
     * 
     * @param projectId 需求发布主键
     * @return 结果
     */
    public int deleteDemandReleaseByProjectId(String projectId);


    int terminationPolicy(DemandRelease demandRelease);

    int updateStatus(DemandRelease id);

    List<DemandRelease> selectDemandReleaseListByAudit(DemandRelease demandRelease);

    List<DemandRelease> selectDemandReleaseListByReception(DemandRelease demandRelease);

    int bid(String projectId);

    List<DemandReception> selectBidder(String projectId);

    int close(String projectId);
}
